home *** CD-ROM | disk | FTP | other *** search
- /*----- ARCHIVE itox.c -----------------------------------------------------*/
- /*
- ** itox -- converts nbr to hex string of length sz
- ** right adjusted and blank filled, returns str
- **
- ** if sz > 0 terminate with null byte
- ** if sz = 0 find end of string
- ** if sz < 0 use last byte for data
- */
- #define NULL 0
- itox(nbr,str,sz) int nbr; char str[]; int sz; {
- int digit, offset;
- if (sz>0) str[--sz]=NULL;
- else if (sz<0) sz=-sz;
- else while(str[sz]!=NULL) ++sz;
- while (sz) {
- digit=nbr&15; nbr=(nbr>>4)&4095;
- if (digit<10) offset=48; else offset=55;
- str[--sz]=digit+offset;
- if (nbr==0) break;
- }
- while (sz) str[--sz]=' ';
- return str;
- }
- to directory buffer
- ;
- DIRBUF: DS ENTRIES*16 ;directory buffer
- ;
- END BEGIN
- PA:X